package com.itheima.filedemo;

import java.io.File;
import java.io.IOException;

public class Test {

    public static void main(String[] args) throws IOException {

        //File类的对象可以代表文件/文件夹

        //1.创建File类的对象，获取某个文件或文件夹的信息
        File file1 = new File("D:/liang/Pictures/Saved Pictures/logo1.jpg");
        //File file = new File("D:\\liang\\Pictures\\Saved Pictures\\logo1.jpg");   //转义符

        System.out.println("文件/文件夹是否存在：" + file1.exists());
        System.out.println("文件/文件夹的名字：" + file1.getName());
        System.out.println("文件/文件夹的长度：" + file1.length());       //单位：字节
        System.out.println("文件/文件夹是否是目录：" + file1.isDirectory());
        System.out.println("文件/文件夹是否是文件：" + file1.isFile());
        System.out.println("=======================================");

        //2.使用相对路径定位文件对象
        //绝对路径：带盘符的完整路径
        //相对路径：不带盘符，默认是到你的IDEA工程下寻找，一般用来找工程下的项目文件
        File file2 = new File("file\\src\\cat.txt");
        System.out.println("文件/文件夹的长度：" + file2.length());
        System.out.println("=======================================");

        //3.创建File类的对象，代表不存在的文件/文件夹
        File file3 = new File("D:/liang/Pictures/Saved Pictures/logo.txt");
        System.out.println("文件/文件夹是否存在：" + file3.exists());
        System.out.println(file3.createNewFile());
        System.out.println("=======================================");

        File file4 = new File("D:/liang/Pictures/Saved Pictures/logo");
        System.out.println("文件/文件夹是否存在：" + file4.exists());
        System.out.println(file4.mkdir());      //只能创建一级文件夹
        System.out.println("=======================================");

        File file5 = new File("D:/liang/Pictures/Saved Pictures/logo1/logo2/logo3");
        System.out.println("文件/文件夹是否存在：" + file5.exists());
        System.out.println(file5.mkdirs());     //创建多级文件夹
        System.out.println("=======================================");

        //4.创建File类的对象，代表一个已经存在的文件并删除
        File file6 = new File("D:/liang/Pictures/Saved Pictures/logo.txt");
        System.out.println("文件/文件夹是否存在：" + file6.exists());
        System.out.println(file6.delete());     //删除文件（不放入回收站）
        System.out.println("=======================================");

        //5.创建File类的对象，代表一个已经存在的文件夹并删除
        File file7 = new File("D:/liang/Pictures/Saved Pictures/logo");
        System.out.println("文件/文件夹是否存在：" + file7.exists());
        System.out.println(file7.delete());     //删除文件夹，文件夹必须为空才能删除（不放入回收站）
        System.out.println("=======================================");

        //6.获取某个目录下的全部一级文件名称
        File file8 = new File("D:/liang/Pictures/Saved Pictures");
        String[] names = file8.list();
        for (String s : names) {
            System.out.println(s);
        }
        System.out.println("=======================================");

        //7.获取某个目录下的全部一级文件对象
        File[] files = file8.listFiles();
        for (File file : files) {
            System.out.println(file.getAbsoluteFile());     //绝对路径
        }

    }
}
